package seatiger.tomcat.catalina;

import javax.servlet.ServletOutputStream;
import javax.servlet.ServletResponse;
import java.io.IOException;
import java.io.OutputStream;

/**
 * 返回对象
 */
@Deprecated
public interface Response {

    /**
     * 获取Request
     * @return
     */
    Request getRequest();

    /**
     * 设置Request对象
     * @param request
     */
    void setRequest(Request request);

    /**
     * 获取输出流， 就是socket.getOutputStream
     */
    OutputStream getStream();

    /**
     * 设置输出流
     * @param stream
     */
    void setStream(OutputStream stream);

    /**
     * 创建获取ServletOutputStream
     * @return
     * @throws IOException
     */
    ServletOutputStream createOutputStream() throws IOException;

    /**
     * 复位
     */
    void recycle();

    /**
     * 完成返回报文的拼装
     * @throws IOException
     */
    void finishResponse() throws IOException;

    /**
     * 获取响应长度
     * @return
     */
    int getContentLength();

    /**
     * 响应内容
     * @return
     */
    String getContentType();

    /**
     * 返回一个门面
     * @return
     */
    ServletResponse getResponse();
}
